package com.ddwl.schema.bo.funds;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotNull;

/**
 * @Author hemiaojun
 * @Date 2021/6/16 15:12
 */
@Getter
@Setter
@ApiModel(value = "企业微信付款到零钱/银行卡Bo")
public class WxEntPayBo {

    /**
     * 商户账号appid
     */
    @NotNull(message = "商户号appid不能为空")
    @ApiModelProperty(value = "商户账号appid")
    private String mchAppid;

    /**
     * 付款类型 0:微信零钱，2：银行卡
     */
    @NotNull(message = "付款类型不能为空")
    @ApiModelProperty(value = "付款类型 0:微信零钱，2：银行卡")
    private Integer payType;

    /**
     * 收款方银行卡号  付款到银行卡时需要
     */
    @ApiModelProperty(value = "收款方银行卡号 付款到银行卡时需要")
    private String encBankNo;

    /**
     * 收款方用户名 付款到银行卡时需要
     */
    @ApiModelProperty(value = "收款方用户名 付款到银行卡时需要")
    private String encTrueName;

    /**
     * 银行卡所在开户行编号 付款到银行卡时需要
     */
    @ApiModelProperty(value = "银行卡所在开户行编号 付款到银行卡时需要")
    private String bankCode;

    /**
     * 商户订单号，需保持唯一性(只能是字母或者数字，不能包含有其它字符)
     */
    @ApiModelProperty(value = "商户订单号，需保持唯一性(只能是字母或者数字，不能包含有其它字符)")
    private String partnerTradeNo;

    /**
     * 用户openid 付款到微信零钱时需要
     */
    @ApiModelProperty(value = "用户openid 付款到微信零钱时需要")
    private String openid;

    /**
     * 收款用户真实姓名。如果check_name设置为FORCE_CHECK，则必填用户真实姓名如需电子回单，需要传入收款用户姓名 付款到微信零钱时需要
     */
    @ApiModelProperty(value = "收款用户真实姓名。 付款到微信零钱时需要")
    private String reUserName;

    /**
     * 付款金额，单位为分
     */
    @ApiModelProperty(value = "付款金额，单位为分")
    private Integer amount;

    /**
     * 付款备注，必填。注意：备注中的敏感词会被转成字符*
     */
    @ApiModelProperty(value = "付款备注，必填。注意：备注中的敏感词会被转成字符*")
    private String desc = "用户提现";

    /**
     * 通知队列
     */
    @NotNull(message = "通知队列不能为空")
    @ApiModelProperty(value = "通知队列")
    private String notifyQueue;

}
